1. Technical Field
The present invention relates generally to the data processing field and, more particularly, to a method, system and computer program product for transferring data in a data processing system network.
2. Description of Related Art
Network demands in a data processing system network are increasing faster than the ability of devices in the network to handle the demands. Applications such as on-line contents, e-commerce, large databases and streaming media require more network bandwidth than conventional textual data; and the most popular 1-Gigabit Ethernet network speed adapter currently in use does not meet network bandwidth demands in some of these environments.
The EtherChannel and IEEE 802,3ad technologies have been developed to address these business needs by grouping multiple network adapters together to form a single larger pipe. FIG. 4 is a block diagram that schematically illustrates an EtherChannel interface system that is known in the art. The system is generally designated by reference number 400 and is adapted to send and receive TCP/IP protocol messages 404 to/from application 402 by opening socket 406 and reading and writing data to and from socket 406. A plurality of Ethernet adapters 412, 414, 416 and 418 are connected to transfer TCP/IP messages to and from application 402 via Ethernet drivers 422, 424, 426 and 428 and EtherChannel driver 430.
In system 400, Ethernet drivers 412-418 are grouped together to form a single larger pipe. For instance, four 1-Gigabit Ethernet adapters can be combined in a server to realize a single 4-Gigabit network interface using one IP address.
In order to balance the transmission workload among the plurality of adapters 412-418, current EtherChannel “port aggregation” software evenly allocates data packets among the adapters in a “round-robin” fashion. Although a round robin scheme performs very well in a homogeneous environment, the scheme suffers under more realistic situations. For example, low performance adapters require more time to transmit a given amount of data because of smaller bus width/speed. In addition, the throughput on the transmit side of an adapter may be affected by the workload on the receive side of the adapter.
In practice, the transmission capability of a network adapter can be affected by four factors: slot size (32 bits vs. 64 bits), slot speed (33 MHz, 66 MHz or 133 MHz), degree of I/O bus contention (how many adapters are sharing the I/O bus) and traffic rate from the network. Current EtherChannel port aggregation software employs a round-robin packet algorithm for all adapters in the same EtherChannel group. This results in undesirable transmission delay due to the latency disparities of each adapter. With a round robin scheme, accordingly, it is conceivable that adapters having a higher capability of transferring data would have to wait to receive data to be transferred while adapters having a lower capability are busy working on packets that are queued for transmission.
There is, accordingly, a need for a method, system and computer program product for transferring data in a data processing system network that utilizes network adapters to transfer data in a more efficient manner.